# frozen_string_literal: true

# 默认有配置文件，亦可在配置文件中重载：
#
#     ~/.oneclick-setup.env
#
# 配置文件的格式：
#
#     key=value
#

def parse_os
  %w[/etc/redhat-release /etc/issue].each do |path|
    next unless File.exist?(path)

    content = File.read(path)
    os = %w[Ubuntu openSUSE CentOS].find { |name| content[name] }
    return os if os
  end

  nil
end

def parse_default
  {
    'OS' => parse_os
  }
end

def parse_from_file(path)
  if File.exist?(path)
    File.read(path).split("\n").map do |line|
      line.split('=')
    end.to_h
  else
    {}
  end
end

env = parse_default
env.merge!(parse_from_file(File.join(ENV['HOME'], '.oneclick-setup.env')))

define_method(:env) { env }
